//package com.twetec.cms.adapter.pc.backend.converter;
//
//import cn.hutool.core.convert.Convert;
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.core.util.StrUtil;
//import org.springframework.core.convert.converter.Converter;
//import org.springframework.stereotype.Component;
//
//import java.util.ArrayList;
//import java.util.Date;
//import java.util.List;
//
///**
// * 请求参数类型转换 - 字符串转Date类型
// */
//@Component
//public class StringToDateConverter implements Converter<String, Date> {
//
//    /**
//     * 时间格式
//     */
//    private static final List<String> dateFormatList = new ArrayList<>();
//
//    static {
//        dateFormatList.add("yy-MM");
//        dateFormatList.add("yy-MM-dd");
//        dateFormatList.add("yy-MM-dd HH:mm");
//        dateFormatList.add("yy-MM-dd HH:mm:ss");
//    }
//
//    @Override
//    public Date convert(String source) {
//        if (StrUtil.isBlank(source)) return null;
//
//        if (source.matches("^\\d{4}-\\d{1,2}$")) {
//            return DateUtil.parse(source, dateFormatList.get(0));
//        }
//        else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2}$")) {
//            return DateUtil.parse(source, dateFormatList.get(1));
//        }
//        else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$")) {
//            return DateUtil.parse(source, dateFormatList.get(2));
//        }
//        else if (source.matches("^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$")) {
//            return DateUtil.parse(source, dateFormatList.get(3));
//        }
//        else if (source.length() == 10) {//long 时间戳转换
//            return new Date(Convert.toLong(source) * 1000);
//        }
//        else {
//            throw new IllegalArgumentException("Invalid boolean value '" + source + "'");
//        }
//    }
//}
